package com.ynet.middleground.contract.bean;

import java.util.List;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liwq
 * @description 平台用户PDF文件批量签署（指定手机号短信验证）
 * @date 2020-11-22 15:35
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "平台用户PDF文件批量签署（指定手机号短信验证）", description = "平台用户PDF文件批量签署（指定手机号短信验证），使用 e 签宝证书")
public class BatchSignPdfAppointMobileReq extends EnterpriseBaseReqObj {

    private static final long serialVersionUID = -3639601654807714104L;

    @ApiModelProperty(value = "签署者账号标识", notes = "签署者账号标识", dataType = "String", required = true)
    @NotBlank(message = "签署者账号标识不能为空")
    private String accountId;

    @ApiModelProperty(value = "印章图片 id\n注意：印章数据要和账户信息对应，否则会出现签署的印章和背后的数字证书不一致的情况，从而造成签署纠纷",
        notes = "印章图片 id\n注意：印章数据要和账户信息对应，否则会出现签署的印章和背后的数字证书不一致的情况，从而造成签署纠纷", dataType = "Integer", required = true)
    @NotNull(message = "印章图片 id 不能为空")
    private Integer sealId;

    @ApiModelProperty(value = "接收短信验证码的手机号", notes = "接收短信验证码的手机，必须通过 e 签宝接口发送", dataType = "String", required = true)
    @NotBlank(message = "接收短信验证码的手机号不能为空")
    private String mobile;

    @ApiModelProperty(value = "短信验证码，必须通过 e 签宝接口发送", notes = "短信验证码，必须通过 e 签宝接口发送", dataType = "String",
        required = true)
    @NotBlank(message = "短信验证码不能为空")
    private String code;

    @ApiModelProperty(value = "场景描述", notes = "场景描述", dataType = "String")
    private String sceneDesc;

    @ApiModelProperty(value = "签署信息，上限为50个", notes = "签署信息，上限为50个", required = true)
    @NotNull(message = "签署信息不能为空")
    private List<SigningParamBean> signInfos;

}
